#include "stl.h"
#include "linkedlist.h"
using namespace LinkedList;
#include "solution.h"

int main(int argc, char *argv[]){
    struct {
        int k;
        vector<int> head;
    } testcases[] = {
        {2, {1,2,3,4,5}},
        {3, {1,2,3,4,5}},
        {1, {1,2,3,4,5}},
        {1, {1}},
    };
    Solution sln;
    for(auto & t: testcases){
        vector<ListNode> vec;
        auto head = Link(t.head, &vec);
        print("k=", t.k, ", list=", head, "\n")
        print("reserved:", sln.reverseKGroup(head, t.k), "\n\n")
    }
    
    print("\n------ main exit ------\n")
    return 0;
}
